package types

// Error implements the error interface and can represents multiple
// errors that occur in the course of a single decode.
// type Error struct {
// 	Errors []string
// }

// func (e *Error) Error() string {
// 	points := make([]string, len(e.Errors))
// 	for i, err := range e.Errors {
// 		points[i] = fmt.Sprintf("* %s", err)
// 	}

// 	return fmt.Sprintf(
// 		"%d error(s) decoding:\n\n%s",
// 		len(e.Errors), strings.Join(points, "\n"))
// }

// func appendErrors(errors []string, err error) []string {
// 	switch e := err.(type) {
// 	case *Error:
// 		return append(errors, e.Errors...)
// 	default:
// 		return append(errors, e.Error())
// 	}
// }
